package com.testing.class1;

public class Math {
    public static void main(String[] args) {
        byte ba=3;
        short sa=17;
        int ia=7;
        long la=6;
        float fa=1.2f;
        double da=6.3;

        //整数四则运算
        //除法自动向下取整，（不是四舍五入）
        //默认用int类型进行计算，得到结果是int，如果要转成低精度要强转
       short resultdevide=(short)( sa/ba);
       //运算结果以计算表达式的最高精度为准，表达式中有long，所以结果自动是long
//       int resultM=ia*la;
        long resultM=ia*la;
        //求余：
        int resultyu= sa%ba;


        System.out.println("除法的结果是："+resultdevide);
        System.out.println("乘法的结果是："+resultM);
        System.out.println("求余的结果是："+resultyu);


        //由于java能够自动低转高，所以这两个都不报错。
        //计算结果以最高精度为准，结果是float
//        报错，因为结果是float型。
//        int resultfi=sa /fa;
        float resultf = sa/fa;
        //低精度转高精度。能够自动转换为double
        double resultd= sa/fa;
        System.out.println("sa/fad的float结果："+resultf);
        System.out.println("sa/fad的double结果："+resultd);

        //整数计算，结果为整数，向下取整，结果是2.
        int resulti =ia/ba;
        //想要计算出小数结果：
        //先计算出ia/ba的整数结果，已经是2了，然后转成float。
        float resultfi = (float)(ia/ba);
        //先把ia转成float， 计算式就变成了最高精度是float，用float来进行计算。
        float resultfi2 =(float)ia/ba;
        //2.0
        System.out.println("对结果进行float转换"+resultfi);
        //2.333333
        System.out.println("先进行float转换"+resultfi2);
    }
}
